آموزش الگوریتم
آموزشی , برنامه نویسی , وبلاگ نویسی , طراحی وب سایت, انجام تمامی پروژه های دانشجویان
تاریخ : سه شنبه 12 آذر 1392
نویسنده : Admin

طراحی الگوریتم برای مسئله 
الگوریتم ها برای حل مسئله نوشته میشوند . مشکل ترین بخش حل مسئله ، طراحی الگوریتم برای آن است . در طراحی الگوریتم ، ابتدا تمام مراحل کلی انجام کار را مشخص میکنیم و با حل هر مرحله اصلی ، کل مسئله حل می شود . تقریبا تمام الگوریتم ها مراحل زیر را دارا هستند : 


 1- خواندن داده ها

2- انجام محاسبات 

3- خروجی ها

هر مرحله از الگوریتم با بررسی دقیق ممکن است به بخشهای کوچکتری نیز تقسیم شود . به عنوان مثال ، مرحله انجام محاسبات یک مرحله کلی است که با پرداختن به مسئله ، به روابط ریاضی تبدیل می شود که مسئله را حل می کند . اصولا برای حل یک مسئله و طراحی الگوریتم برای آن ، موارد زیر باید مشخص شوند : 
1- تعریف دقیقی از مسئله جهت مشخص کردن نیازمندیهای آن 
2- ورودی های مسئله 
3- خروجی های مسئله 
4- بررسی راه حل های مختلف مسئله 
5- رابطه بین ورودی ها و خروجی های مسئله 
6- انتخاب یک راه حل مناسب و تهیه الگوریتم برای آن راه حل 
7- اشکال زدایی و رفع اشکال الگوریتم 

برای آشنایی با حل یک مسئله و طراحی الگوریتم آن ....

خوب به مثال زیر توجه کنید. 

دانشگاهی برای هر ترم شهریه ثابتی که در طول تحصیل دانشجو است دریافت می کند . 
اگر میزان شهریه ثابت مشخص باشد ، دانشجو در مدت 4 ترم چه مبلغی باید پرداخت کند؟؟ 
ورودی های مسئله : میزان شهریه ثابت برای هر ترم 
خروجی های مسئله : مبلغ شهریه ثابت پرداختی در ازای 4 ترم ( یعنی مبلغ کل ) 
رابطه بین ورودی ها و خروجی های مسئله : 
4 × شهریه ثابت ترم = مبلغ کل 
در این مثال ، تشخیص ورودی ، خروجی و رابطه بین آنها خیلی ساده است ولی ممکن است همیشه به این سادگی ها نباشد و مستلزم فرض ها و تسهیلات خاصی باشد .

 




 

 

 

بیان ریاضی الگوریتم 


الگوریتم هایی که در پست های بعدی خواهیم نوشت ، به زبان فارسی بیان می شوند . نوشتن الگوریتم به زبان فارسی دارای 2 اشکال عمده است : 


* 1 *     الگوریتم ها طولانی می شوند .

* 2 *    از دستورات الگوریتم تفسیرهای متفاوتی می شود .


در این قسمت از آموزش سعی میکنیم مقدماتی را فراهم کنیم که الگوریتم را به جملات ریاضی بیان کند . زبان ریاضی زبان دقیق تری نسبت به زبان فارسی است . البته ناگفته نماند بیان ریاضی الگوریتم تنها راه بیان دقیق مراحل الگوریتم نیست و روش های دیگری وجود دارند که در ادامه به آموزش آنها هم خواهیم پرداخت . در بیان ریاضی الگوریتم با نمادهایی سر و کار داریم . این نمادها ، محلهای ذخیره ورودی ها و خروجی های الگوریتم هستند . این نماد ها را متغییر می نامیم .

به عبارت دیگر می توان متغییر را این گونه تعریف کرد :

   متغییر نامی است که به کمیتی داده می شود و مقدار آن ممکن است در طول اجرای الگوریتم تغییر کند .

به عنوان مثال ، در الگوریتم مربوط به بزرگترین عدد ، عدد بزرگتر یک عامل مهم است و باید نامی برای آن انتخاب شود . نامگذاری برای متغیر با ترکیبی از حروف a تا z و ارقام 0 تا 9 انجام می شود . نام متغیر باید با یکی از حروف شروع شود . حداکثر طول نام متغیر در این آموزش 6 فرض می شود .

نمونه هایی از اسامی متغیرها عبارتند از : find , average money , m , y , x1 , sum در نامگذاری متغیرها ، تفاوتی بین حروف کوچک و بزرگ وجود ندارد.

      sum:   معمولا برا جمع استفاده می شود.

m,y, x1:     یکسری متغیر های دلخواه برای جای گذاری اعدادو ...  .

  money:    برای واحد پول استفاده می شود.

average:   معمولا نیز از ان برای میانگین استفاده میشود. وبشتر اوقات مخفف آن(avrg, avg) را به کار می برند.

      find:       برای پیدا کردن چیزی استفاده می شود.

 




 

مجری الگوریتم 

 

منظور از مجری الگوریتم چیست؟

الگوریتم های نوشته شده می توانند توسط افراد یا ماشین اجرا شوند و منظور از اجرای الگوریتم.دنبال کردن کلیه دستورات الگوریتم و اخذ نتیجه دلخواه است .

اگر مجری الگوریتم ماشین باشد آن را کامپیوتر می گویند .

مجری الگوریتم بعضی از اعمال را از قبل می داند و بعضی دیگر را نمی داند . به عنوان مثال ، ممکن است مجری الگوریتم مفهوم جمع و تفریق را بداند و مفهوم باقیمانده یک تقسیم را نداند . لذا نویسنده الگوریتم باید از چیزهایی که مجری الگوریتم  می داند آگاه باشد و هیچ گونه فرضی را در مورد مجری الگوریتم منظور نکند . 

روش های بیان الگوریتم 


الگوریتم ها را می توان به چند صورت مختلف بیان  کرد که 3 مورد از آن را بیان می کنیم : 

 

          1    بیان الگوریتم با جملات فارسی

          2    بیان ریاضی الگوریتم 

          3    بیان الگوریتم توسط شکل ها 


حالا به ترتیب با مثال ذکر خواهیم کرد : 
بیان الگوریتم با جملات فارسی 
در این روش الگوریتم ها بدون استفاده از نمادهای خاصی ذکر می شوند . به مثال زیر توجه کنید : 

مثال 1
الگوریتمی که مجموع دو عدد را محاسبه می کند:


   1- اولین عدد را انتخاب کرده ، بر روی کاغذ بنویسد 
   2- دومین عدد را گرفته ، آن را زیر عددی که بر روی کاغذ نوشتید بنویسد 
   3- دو عدد روی کاغذ را با هم جمع کنید ، زیر آن دو عدد بنویسید 
   4- سومین عددی که بر روی کاغذ نوشته شد ، مجموع دو عدد است 
   5- پایان 

 

مثال 2 
الگوریتمی که از بین 3 عدد بزرگترین عدد را پیدا می کند :


   1- اولین عدد را به عنوان بزرگترین عدد انتخاب کن و روی کاغذ بنویس 
   2- عدد دوم را با عدد روی کاغذ مقایسه کن ، اگر از عدد روی کاغذ بزرگتر بود ، آن را به عنوان بزرگترین عدد یادداشت کن 
   3- اگر عدد سوم ، از عددی که به عنوان بزرگترین انتخاب شد ، بزرگتر باشد ، آن را به عنوان بزرگترین عدد یادداشت کن 
   4- عدد روی کاغذ بزرگترین عدد است آرام
5- پایانبوسه

زبان درازیزبان درازیزبان درازی




بسمه تعالی 

=> این مثال تنها برای نمونه می باشد برای دیدن بقیه مثال  ها می توانید به قسمت آموزش مراجعه کنید <=

 

 

مثال 1 :

الگوریتمی که سه مقدار عددی را از ورودی خوانده ، میانگین آنها را محاسبه می کند .

توضیح:  

در این الگوریتم باید برای سه مقداری که از ورودی خوانده می شوند ، نامی انتخاب کنیم . نامگذاری برای میانگین و مجموع اعداد نیز لازم است . 

1- A وB وC را از ورودی بخوان 

2   ===>         sum=   A+B+C   (مجموع=سه عدد را باهم جمع می کنیم)

3   ===>       AVEG=   SUM/3    ( میانگین= حاصل جمع 3 عدد تقسیم بر تعداد اعداد) 

4   ===>        AVEG  را چاپ کن ( میانگین سه عدد را چاپ می کند)

5-  ===>        پایان  

آنچه که از این الگوریتم می آموزیم :

1-     مجری الگوریتم " مفهوم خواندن " را می داند . 
2-     علامت + به معنی جمع است و مجری الگوریتم مفهوم جمع را می داند . 
3-     علامت =  معنی حکم انتساب است و مقدار سمت راست را در متغیر سمت چپ قرار  می دهد . 

 در صورتی که در انجام الگوریتم ها ی اموزش با مشکل مواجه شدید می توانید در قسمت نظرات ما رو در جریان بگذارید.

مدیریت وبلاگ:حسین عشوری زاده 



|
امتیاز مطلب : 7
|
تعداد امتیازدهندگان : 7
|
مجموع امتیاز : 7
موضوعات مرتبط: آموزش الگوریتم , ,
برچسب‌ها: الگوریتم , اموزش الگوریتم , برنامه نویسی , اموزش برنامه نویسی , انجام پروژهای دانشجویی , فلوچارت , آموزش فلوچارت ,
مطالب مرتبط با این پست
می توانید دیدگاه خود را بنویسید

/weblog/file/img/m.jpg
dariush در تاریخ : 1393/8/15/mehrarvand - - گفته است :
سلام داش حسین آفرین به تو و وبلاگت خیلی عالی موفق باشی.

/weblog/file/img/m.jpg
مدیریت وبلاگ در تاریخ : 1392/9/12/2 - - گفته است :

وبلاگ در حال بروز رسانی است. بقیه برنامه نویسی هارو به امید خدا
در پست های بعدی خواهم نوشت.
شما می توانید برنامه مورد نظر خود را درخواست کنید.
وبه زودی آن هارو در سایت قرار می دهم.

از نظرات تمامی شما تشکر می کنم.

/weblog/file/img/m.jpg
سجاد ناصری در تاریخ : 1392/9/12/mehrarvand - - گفته است :
بسیارخوب.....
بازم میام وبت.بیشتر بنویس از برنامه نویسی


نام
آدرس ایمیل
وب سایت/بلاگ
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

آپلود عکس دلخواه:








آخرین مطالب

/
تو بیمارستان به دنیا اومدم ،مامانم به من شیر داد ،بابام برام اسم انتخاب کرد ، اسباب بازی خواهرو برادرم شدم ،دست تو دماغم نکردم ،غذا ها مو خوب خوردم بزرگ شدم ،رفتم مدرسه ،درس خوندم ، الانم دارم پله های ترقی رو طی میکشم ...!